#import <Foundation/Foundation.h>
#import <mach-o/dyld.h>
#import <mach-o/loader.h>

NS_ASSUME_NONNULL_BEGIN

@interface AnyThinkCrashFilter : NSObject

/// 单例实例
+ (instancetype)sharedInstance;

/// 初始化：计算 AnyThinkSDK 的内存地址范围（需在 SDK 初始化时调用）
/// @param libraryIdentifier 用于匹配 SDK 的标识（如 "AnyThinkSDK"）
- (void)setupWithSDKIdentifier:(NSString *)libraryIdentifier;

/// 判断崩溃报告是否来自 AnyThinkSDK
/// @param crashReport KSCrash 生成的崩溃报告
- (BOOL)shouldReportCrash:(NSDictionary *)crashReport;

/// 检查地址范围是否已初始化
@property (nonatomic, readonly) BOOL isAddressRangeValid;

@end

NS_ASSUME_NONNULL_END
